経済的独立 (FIREのFIの部分)の文脈では「月1万円の支出削減は資産400万円を増やすのと同じ効果」があるといえる。

これは いわゆる「25倍ルール」 ないし 「33倍ルール」 から考えられる。

25倍ルール・33倍ルールとは

25倍ルールは、年間支出の 25倍の資産 があれば、資産の4%を毎年取り崩しても一生暮らせるという目安。「4%ルール」に基づくもの。

より安全に見積もりたい場合、資産の3%しか取り崩さないとすると、必要資産は 年間支出の33倍。国内だと税制やらなんやらで3%で計算しろとかなんとか。

たとえば年間400万円の支出 (税金や社会保険料なども含む) がかかるとすると

  • 25倍ルール → 1億円(400万 × 25)
  • 33倍ルール → 1.32億円(400万 × 33)

で無収入でも破綻しなくなる (破綻するかどうかは実際は確率の問題だが)

月1万円削減が資産400万円に相当する、とは

月1万円の支出を減らすと

  • 月1万円の支出削減 → 年間で12万円の削減
    • 1万円 × 12ヶ月 = 12万円
  • 25倍ルールを適用すると、必要な資産は:
    • 12万円 × 25 = 300万円
  • 33倍ルールを適用すると:
    • 12万円 × 33 = 396万円(約400万円)

月額1万円を得るのために400万円の資産が必要、ということは、逆に見れば「月1万円の支出を減らすと、300〜400万円の資産を持っているのと同じ効果」といえる。

なぜこの考え方が重要なのか?

資産を300〜400万円増やすのは自明に大変だが、月1万円の削減なら比較的簡単である。見方を変え、月あたりの1万円には資産換算で400万円という価値があると感じることができれば節制により強いブレーキをかけることができる。

逆に月1万円の収入には400万円の資産と同等の効果があるともいえる。キャッシュフローの重要さが身に染みる。

  1. トップ
  2. tech
  3. 月1万円の支出削減は資産400万円に相当する

ファイナンシャルプランナーって信用できないじゃないですか。信用できるかどうか判断するためには相手と同等以上の金融知識が必要になる。人間には利害関係があり、不動産屋と金融屋は特に倫理観がないので、利害関係がない分、たとえハルシネーションがあったとしてもLLMのほうがマシだと考える。

ということでMoneyForward ME の家計簿データをLLMに診断してもらうということを考える。

MoneyForward ME の家計簿データを一括でダウンロードするブックマークレット

https://gist.github.com/cho45/e0ed3e408f87ab9a5c29e2d612db82ab

過去1年分の取引履歴CSVデータを結合したものと、資産推移を以下のような形式で一括でダウンロードする。transactions 以下は構造化されていないCSVがそのまま入っている。

これ自体も Claude Code に指示しつつ書いたのでほぼ手は入れてない。

### JSON構造

```json
{
  "exportDate": "2024-08-29",
  "period": {
    "from": "2023-09",
    "to": "2024-08"
  },
  "monthlyAssets": [...],
  "transactions": {...}
}
```

### フィールド詳細

#### `exportDate`
- データを取得した日付(YYYY-MM-DD形式)

#### `period`
- `from`: 取得期間の開始月(YYYY-MM形式)
- `to`: 取得期間の終了月(YYYY-MM形式)

#### `monthlyAssets`
月末時点の資産データの配列。各要素の構造:
```json
{
  "date": "2024-08-31",
  "assets": {
    "現金・預金": 1000000,
    "投資信託": 500000,
    "株式": 300000,
    "その他": 50000
  }
}
```

#### `transactions`
取引履歴データ:
```json
{
  "format": "csv",
  "encoding": "utf-8",
  "successCount": 12,
  "failedMonths": [],
  "rowCount": 365,
  "data": "\"計算対象\",\"日付\",\"内容\",\"金額(円)\",\"保有金融機関\",\"大項目\",\"中項目\",\"メモ\",\"振替\",\"ID\"\n\"1\",\"2024/08/25\",\"給与 ABC株式会社\",\"300000\",\"△△銀行\",\"収入\",\"給与\",\"\",\"0\",\"abc123def456ghi789\"\n..."
}
```

- `successCount`: 正常に取得できた月数
- `failedMonths`: 取得に失敗した月のリスト
- `rowCount`: 取引データの行数(ヘッダー除く)
- `data`: 実際のCSVデータ(Shift-JISからUTF-8に変換済み、ダブルクォート付き)

### CSVデータフォーマット詳細

`transactions.data` に含まれるCSVは以下の構造です:

#### ヘッダー行
```
"計算対象","日付","内容","金額(円)","保有金融機関","大項目","中項目","メモ","振替","ID"
```

#### データ行の例
```
"1","2024/08/29","コンビニA店","-500","△△銀行","食費","食料品","","0","abc123def456"
"1","2024/08/28","給与 ABC株式会社","250000","△△銀行","収入","給与","","0","def456ghi789"
"1","2024/08/27","電力会社","-8500","○○カード","水道・光熱費","電気代","","0","ghi789jkl012"
"0","2024/08/26","証券会社 積立","30000","△△銀行","未分類","未分類","","1","jkl012mno345"
```

#### 各列の詳細

1. **計算対象**: 家計簿の計算に含めるかの判定(1=計算対象、0=計算対象外)
2. **日付**: YYYY/MM/DD形式の取引日
3. **内容**: 取引の説明文(店舗名、サービス名など)
4. **金額(円)**: 取引金額(収入は正数、支出は負数)
5. **保有金融機関**: 連携している金融機関名
6. **大項目**: MoneyForwardの大分類カテゴリ
   - 例:収入、食費、住宅、水道・光熱費、通信費、交通費、税・社会保障、日用品、健康・医療、教養・教育、趣味・娯楽、衣服・美容、その他、未分類
7. **中項目**: 大項目の下位分類
   - 例:給与、食料品、家賃・地代、電気代、ガス・灯油代、インターネット、電車、所得税・住民税など
8. **メモ**: ユーザーが手動で入力したメモ(空白の場合が多い)
9. **振替**: 振替取引の場合は1、通常取引は0
10. **ID**: MoneyForward内部のユニークな取引ID

LLMへ指示をするプロンプト

家庭状況によって必要な診断が異なるので、ここに関しては↑のフォーマット情報を利用してプロンプトを生成するコードをLLMに書かせるのがよいと思う。

例えば最終的なプロンプトが以下のようになるようなコード自体をLLMに書かせる。

あなたは家計の浪費防止に特化したファイナンシャルアドバイザーです。以下のデータを基に「無駄な支出の特定」と「浪費防止策」を重点的に分析してください。

【家庭状況】
- 世帯主: 38歳
- 家族構成: 配偶者(38歳)・子供1人 (11歳)
- 住居: 首都圏、賃貸マンション(家賃月xx万円)
- 投資方針: 積極的
- 交通: 電車中心

妻と自分とで完全に財布が別で、厳密ではないが支出種別ごとに支払い者が違います。
食費や服飾費が妻、それ以外は自分という分類です。

<以下フォーマットされた分析データ>
【資産推移分析】
...

【月別収支推移】
...

【カテゴリ別年間支出】
...

【異常値・変動分析】
...

**統計的外れ値(大口支出上位10件)**
...

**カテゴリ別支出分布統計**
...

【浪費防止分析を実施してください】
1. **異常値に基づく浪費特定**: 統計的外れ値や前月比異常値から無駄な大口支出を特定。重複パターンから習慣的な無駄を抽出
2. **変動性からのリスク分析**: 月別変動係数の高いカテゴリから予算コントロールが困難な項目を特定し、安定化策を提案
...

これを ChatGPT なり Gemini なり Claude にコピペする。データからわからない前提はしっかり書いておかないと適切にならない。

  1. トップ
  2. tech
  3. 人間のファイナンシャルプランナーよりLLMのほうがマシだよね

VALETON GP-5 というマルチエフェクタを買ってみた。小さいながら凝っていて、アンプシミュレータも内蔵しているのでヘッドフォン直結やスピーカーシステム直結で使える。

これは USB 5V のバスパワーで動くので、スマホに繋げば電源供給をスマホ側でできる。
なので、最小構成では GP-5 + スマホだけでそこそこ良い運用ができる。

WebMIDI Switcher

https://github.com/cho45/webmidi-switcher

GP-5 本体のボタンは「長押し」にチューナー機能が割り当ててある関係で、エフェクトが切り替わるタイミングがボタンを離したときになってしまう。これが嫌なので、別途スイッチを用意したい。

GP-5 は USB MIDI コントロールができ、スマホ側は WebMIDI API から GP-5 に MIDI 信号をおくれる。

スマホから電源供給もしつつ、スマホ自体をフットスイッチにできると嬉しいので、そういうウェブアプリを作った。

PicoMIDI Switch

https://github.com/cho45/picomidi

しかしながら、スマホを足で踏むのは割とむずかしいし抵抗があるので、市販のフットスイッチを流用する方法を考えた。

TRSプラグを利用するただのモーメンタリなフットスイッチが売っているので、これを利用する。

Raspberry Pi Pico で USB MIDI デバイスを作って、TRS → USB MIDI 変換を行っている。スイッチへの MIDI 信号の割当も WebMIDI API でできるようなウェブアプリを作ってある。余計なアプリはいらない。

スマホ側の WebMIDI Switcher には MIDI メッセージを中継する機能をつけてある。これでハブを経由してそれぞれ接続すればコントロールできるようになっている。

かなり装備が軽く、かつフットスイッチありなので、いいんじゃないか

  1. トップ
  2. tech
  3. VALETON GP-5 + 自作MIDIデバイスたち

「MIDI フットコントローラ」とかで検索するとよくでてくる M-VAVE Chocolate Plus というのがある。4スイッチで USB Host にもなれ、BLE でも接続可能で 3000円代と安い。amazon.co.jp でも売ってるので(リンクは出さないが)、気にはなっていた。

改造したらなんとかならんかなと重い、Aliexpressで買ってみて、改造を試みてみた。

「技適未取得機器を用いた実験等の特例制度」を申請して自己責任で期間限定で合法となる、はず。

微弱無線局未満を目指してみたけど、設備がないと微弱無線局の基準を満たしているかは釈然とせず、結局安心して使えるようにはならないという結果だったので、やっぱ簡単な改造では使えないなというお気持ちになった。


なお FCC ID は 2ARCP-CHOCOLATEPLUS のよう (https://www.fcc.gov/oet/ea/fccid )。

  1. トップ
  2. tech
  3. M-VAVE Chocolate Plus は国内では使えません……